Machine learning for intensive care.¶

Chris McWilliams¶

Engineering Mathematics, University of Bristol and
University Hospitals Bristol NHS Foundation Trust
chris.mcwilliams@bristol.ac.uk

Contents¶

1. Motivation.¶

2. What is machine learning?¶

3. Machine learning in practice.¶

4. Not even machine learning.¶

1. Motivation¶

In [22]:
image = Image('resources/bd2k_0.jpg', width=700)
sh = display(image)

(Friedman, 2015)

2. What is machine learning?¶

  • ā€œThe field of study that gives computers the ability to learn without being explicitly programmed.ā€ (Arthur Samuel)
  • ā€œA computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.ā€ (Tom Mitchell)

(https://www.coursera.org/learn/machine-learning)

In [17]:
image = Image('resources/Supervised-Learning-versus-Unsupervised-Learning-Mathworks-nd.png', width=800)
sh = display(image)

(Bunker & Thabtah, 2017)

In [16]:
image = Image('resources/expert_system.png', width=800)
sh = display(image)

(www.igcseict.info/theory/7_2/expert/)

In [40]:
image = Image('resources/deeplearning1.png', width=700)
sh = display(image)

(https://www.ibm.com/blogs/systems/deep-learning-performance-breakthrough/)

In [43]:
image = Image('resources/deep_learning_growth.jpg', width=600)
sh = display(image)

"Artificial intelligence in healthcare: past, present and future" (Jiang et al, 2017)

2.1 How to do machine learning: a standard workflow.¶

In [15]:
image = Image('resources/black_box.png', width=800)
sh = display(image)

(https://callingbullshit.org/case_studies/case_study_ml_sexual_orientation_original_version.html)

But what about interpretability?

In [37]:
image = Image('resources/tools_used_in_ai.jpg', width=700)
sh = display(image)

"Artificial intelligence in healthcare: past, present and future" (Jiang et al, 2017)

Data prepartion¶

....about 90% of my job.


(https://dataconomy.com/2016/03/why-your-datascientist-isnt-being-more-inventive/)

In [29]:
image = Image('resources/data_stress.jpg', width=700)
sh = display(image)

(https://the-modeling-agency.com/data-messy-dont-panic/)

Feature extraction¶

In traditional machine learning - absolutely key.


In deep learning - not required!

In [34]:
image = Image('resources/feature_extraction.png', width=700)
sh = display(image)

Model development¶

In [39]:
image = Image('resources/train_validate_test.png', width=600)
sh = display(image)

(https://towardsdatascience.com/train-validation-and-test-sets-72cb40cba9e7)

In [37]:
image = Image('resources/tools_used_in_ai.jpg', width=700)
sh = display(image)

(Jiang et al, 2017)

3. Machine learning in practice.¶

3.1 Unsupervised learning: patient subgroups¶

"Identifying distinct subgroups of ICU patients: a machine learning approach"¶


(Vranas et al, 2017)

In [6]:
image = Image('resources/clustering_versus_classification.png', width=700)
sh = display(image)
In [4]:
image = Image('resources/subgroups_table.png') #, width=1500)
sh = display(image)

"Identifying patients subtypes on the intensive care unit."¶

(Corrigan, Harush, Morgan, Shelim, Zulkarnaen, 2018)

Data: Physionet Challenge 2012


(https://physionet.org/challenge/2012/)

In [57]:
image = Image('resources/student_clusters.png') #, width=1500)
sh = display(image)
In [66]:
image = Image('resources/student_table.png', width=500)
sh = display(image)

3.2 Supervised learning: Patient discharge classifier¶

In [30]:
image = Image('resources/nld_criteria_original.png', width=500)
sh = display(image)

"Nurse‐led discharge from high dependency unit."
(Knight, 2003)

In [4]:
image = Image('resources/codified_nld.png')
sh = display(image)

"Towards a decision support tool for intensive care discharge: machine learning algorithm development using electronic health care data."


(McWilliams et al, 2019)

In [10]:
## thanks to: https://stackoverflow.com/questions/47637739/how-to-display-two-local-images-side-by-side-in-jupyter
## and border removal, thanks God! : https://github.com/ipython/ipython/issues/8581
display(HTML("<table style='border: 0'><tr style='border: 0'><td style='border: 0'><p style='border: none!important;'><img width='600' src='resources/time_panel_survivor_ptassess.png'></td><td style='border: 0'><img width='600' src='resources/time_panel_survivor_labres.png'></td></tr></table>"))

In [12]:
display(HTML("<table style='border: 0'><tr style='border: 0'><td style='border: 0'><p style='border: none!important;'><img width='600' src='resources/time_panel_mortality_ptassess.png'></td><td style='border: 0'><img width='600' src='resources/time_panel_mortality_labres.png'></td></tr></table>"))
#display(HTML("<table><tr><td><img src='resources/time_panel_mortality_ptassess.png'></td><td><img src='resources/time_panel_mortality_labres.png'></td></tr></table>"))

In [52]:
image = Image('resources/comparison_table.png')
sh = display(image)
In [6]:
image = Image('resources/cohort_table.png')
sh = display(image)
In [8]:
image = Image('resources/clustering_versus_classification.png', width=700)
sh = display(image)
In [15]:
image = Image('resources/tsne.png') #, width=1500)
sh = display(image)
In [14]:
image = Image('resources/figure1.png', width=1500)
sh = display(image)
In [5]:
image = Image('resources/performance_table_imputed.png')
sh = display(image)
In [7]:
image = Image('resources/fimp_table_imputed.png')
sh = display(image)
In [17]:
image = Image('resources/time_of_day_patterns.png') #, width=1500)
sh = display(image)

3.3 Supervised learning: Length of stay regression¶

  • A predictive model for the early identification of patients at risk for a prolonged intensive care unit length of stay (Kramer et al., 2010)

  • ICNARC (linear regression model).

  • Groups in Bristol (PICU, CICU).

3.4 Deep learning: digit recongition¶

In [45]:
image = Image('resources/rfd_board_whole.png') #, width=1500)
sh = display(image)

First, data preparation..¶

In [46]:
image = Image('resources/rfd_board_template_only.png') #, width=1500)
sh = display(image)
In [47]:
image = Image('resources/rfd_board_elements.png') #, width=1500)
sh = display(image)
In [48]:
image = Image('resources/rfd_board_1_&_8.png') #, width=1500)
sh = display(image)
In [55]:
image = Image('resources/rfd_board_1_&_8_contoured.png') #, width=1500)
sh = display(image)

Then, machine learning...¶

In [54]:
image = Image('resources/tensor_flow_example.png', width=700)
sh = display(image)

(https://www.tensorflow.org/)

In [52]:
image = Image('resources/rfd_board_predictions.png') #, width=1500)
sh = display(image)
In [53]:
image = Image('resources/sevens.png') #, width=1500)
sh = display(image)

3.5 More deep learning examples.¶

In [17]:
image = Image('resources/eye_scan_example.png', width=500)
sh = display(image)

"Clinically applicable deep learning for diagnosis and referral in retinal disease."

(De Fauw et al., 2018)

"Only 14,884 scans...""

"Diagnostic assessment of deep learning algorithms for detection of lymph node metastases in women with breast cancer."

(Bejnordi et al., 2017)

"Interpretable Deep Models for ICU Outcome Prediction"

(Che et al., 2016)

"Recurrent neural networks for multivariate time series with missing values."

(Che et al., 2018)

Cardiac length of stay prediction:¶

  • Litton, Edward, Michael McCann, and Frank van Haren. "Predicting Intensive Care Unit Length of Stay After Cardiac Surgery." (2018).
  • Maharlou, Hamidreza, et al. "Predicting Length of Stay in Intensive Care Units after Cardiac Surgery: Comparison of Artificial Neural Networks and Adaptive Neuro-fuzzy System." Healthcare informatics research 24.2 (2018): 109-117.
  • LaFaro, Rocco J., et al. "Neural network prediction of ICU length of stay following cardiac surgery based on pre-incision variables." PloS one 10.12 (2015): e0145395.

4. Not even machine learning¶

In [26]:
image = Image('resources/gicu_dash.jpg', width=300)
sh = display(image)
In [27]:
image = Image('resources/increasing_compliance.jpg', width=500)
sh = display(image)

Citations for previous work. Other GICU work.¶

Previous work in Bristol:¶

(make some slides on this but probably will skip them)

  • dash board
  • ventilator study
  • opt-in versus opt-out
  • chlorhexidine, patient movement
In [9]:
image = Image('resources/bd2k.jpg', width=700)
sh = display(image)

(Friedman, 2015)

In [20]:
image = Image('resources/new_gicu_whiteboard.jpg', width=400)
sh = display(image)

References:¶

  • Jiang, Fei, et al. "Artificial intelligence in healthcare: past, present and future." Stroke and vascular neurology 2.4 (2017): 230-243.
  • Bunker, Rory P., and Fadi Thabtah. "A machine learning framework for sport result prediction." Applied Computing and Informatics (2017).
  • Vranas, Kelly C., et al. "Identifying distinct subgroups of ICU patients: a machine learning approach." Critical care medicine 45.10 (2017): 1607-1615.
  • Silva, Ikaro, et al. "Predicting in-hospital mortality of icu patients: The physionet/computing in cardiology challenge 2012." Computing in cardiology 39 (2012): 245.
  • Knight, Gillian. "Nurse‐led discharge from high dependency unit." Nursing in critical care 8.2 (2003): 56-61.
  • McWilliams, Chris, et al. (In press) "Towards a decision support tool for intensive care discharge: machine learning algorithm development using electronic health care data." BMJ Open (2019)
  • Kramer, Andrew A., and Jack E. Zimmerman. "A predictive model for the early identification of patients at risk for a prolonged intensive care unit length of stay." BMC medical informatics and decision making 10.1 (2010): 27.
  • De Fauw, Jeffrey, et al. "Clinically applicable deep learning for diagnosis and referral in retinal disease." Nature medicine 24.9 (2018): 1342.
  • Bejnordi, Babak Ehteshami, et al. "Diagnostic assessment of deep learning algorithms for detection of lymph node metastases in women with breast cancer." Jama 318.22 (2017): 2199-2210.
  • Che, Zhengping, et al. "Interpretable deep models for icu outcome prediction." AMIA Annual Symposium Proceedings. Vol. 2016. American Medical Informatics Association, 2016.
  • Che, Zhengping, et al. "Recurrent neural networks for multivariate time series with missing values." Scientific reports 8.1 (2018): 6085.
In [ ]: